import { ElOption } from 'element-plus'
import type {} from '../DslType'
import { ElementDSL } from '../ElementDSL'

class Option extends ElementDSL {
  constructor() {
    super(ElOption)
  }
  /**
   * 是否禁用
   * @param value
   * */
  disabled(value: boolean): this {
    return super.setProps('disabled', value)
  }
  /**
   * 选项值
   * @param value
   * */
  value(value: string | number): this {
    return super.setProps('value', value)
  }
  /**
   * 选项文本
   * @param value
   * */
  label(value: string): this {
    return super.setProps('label', value)
  }
  /**
   * 选项的描述
   * @param value
   * */
  description(value: string): this {
    return super.setProps('description', value)
  }
  /**
   * 选项的图标
   * @param value
   * */
  icon(value: string): this {
    return super.setProps('icon', value)
  }
  /**
   * 选项的子选项
   * @param value
   * */
  slot(content: string): this {
    return super.setSlot('default', content)
  }
}

export const option = () => new Option()
